home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
19
/
madtrb11.zip
/
TIMEPACK.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1985-07-13
|
3KB
|
82 lines
{ TimePack - a collection of procedures related to real time clock.
The following procedures are included :
procedure getime (var hrs,min,sec,csec:integer);
procedure Telapsed (hrs1,min1,sec1,csec1,hrs2,min2,sec2,csec2:integer;
var Timdif:real);
procedure BegTimer;
( References procedure getime. )
procedure EndTimer;
( References procedures getime and Telapsed. )
Source: "8087 Support: That Much Faster?", TUG Lines Volume I Issue 4
(omitted from original article)
Author: Richard Brush
Application: IBM PC and true compatibles
}
{ ************************************************************************* }
var
hrs1,min1,sec1,csec1,hrs2,min2,sec2,csec2:integer;
TimDif:real;
{ ************************************************************************* }
procedure getime (var hrs,min,sec,csec:integer);
{ gets time of day in hours, minutes, seconds and hundredths.
Makes call to MS_Dos operating system. }
type RegSet=record
ax,bx,cx,dx,bp,si,di,ds,es,flags:integer;
end {record};
var
registers:RegSet;
begin {getime}
with registers do
begin
ax:=$2C00;
MsDos (registers);
hrs:=Hi(cx);
min:=Lo(cx);
sec:=Hi(dx);
csec:=Lo(dx);
end {with};
end {getime};
{ ************************************************************************* }
procedure Telapsed (hrs1,min1,sec1,csec1,hrs2,min2,sec2,csec2:integer;
var Timdif:real);
{ calc and write time difference}
begin {Telapsed}
TimDif:=((hrs2-hrs1)*60+(min2-min1))*60+(sec2-sec1)+(csec2-csec1)/100;
writeln (' start time was ',hrs1:2,':',min1:2,':',sec1:2,'.',csec1:2);
writeln (' stop time was ',hrs2:2,':',min2:2,':',sec2:2,'.',csec2:2);
writeln (' elapsed time was',TimDif:11:2);
end {Telapsed};
{ ************************************************************************* }
procedure BegTimer;
{ Gets starting time from real time clock. References procedure getime. }
begin
getime (hrs1,min1,sec1,csec1);
end {BegTimer};
{ ************************************************************************* }
procedure EndTimer;
{ Gets stop time from real time clock, and prints time difference.
References procedures getime and Telapsed. }
begin
getime (hrs2,min2,sec2,csec2);
Telapsed (hrs1,min1,sec1,csec1,hrs2,min2,sec2,csec2,TimDif);
end {EndTimer};
{ ************************************************************************* }